package com.hgcode.wtboot.dto;

import cn.afterturn.easypoi.excel.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/***
 * @Description 商品召回Dto
 * @Author changZhaoWei
 * @Date 2021/10/25 15:02
 */
public class RecalledProductsDTO implements Serializable {

    /**
     * id
     */
    private Long id;

    /**
     * 连锁ID
     */
    private Long businessId;

    /**
     * 商品名称
     */
    @Excel(name = "商品名称")
    private String gname;

    /**
     * 规格
     */
    @Excel(name = "商品规格")
    private String specification;

    /**
     * 生产厂家
     */
    @Excel(name = "商品厂家")
    private String manufacturer;

    /**
     * 批号
     */
    @Excel(name = "商品批号")
    private String batch;

    /**
     * 商品编码
     */
    @Excel(name = "商品编码")
    private String goodNo;

    /**
     * 创建时间
     */
    private Date gmtCreate;

    /**
     * 创建人
     */
    private String createdBy;

    /**
     * 创建人id
     */
    private String createdId;

    /**
     * 分页
     */
    private Integer page;

    /**
     * 条数
     */
    private Integer size;

    /**
     * 环境
     */
    private String env;

    /**
     * 更新时间
     */
    private Date gmtUpdate;

    /**
     * 更新人
     */
    private Long updatedBy;

    /**
     * 商品编码合集
     */
    List<String> goodNoList;
    /**
     * 主键集合，适合批量处理的场景
     */
    private List<Long> ids;

    @Excel(name = "门店编码")
    private String storeNo;

    private Long storeId;

    private String storeName;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy == null ? null : createdBy.trim();
    }

    public Date getGmtCreate() {
        return gmtCreate;
    }

    public void setGmtCreate(Date gmtCreate) {
        this.gmtCreate = gmtCreate;
    }

    public String getGname() {
        return gname;
    }

    public void setGname(String gname) {
        this.gname = gname;
    }

    public String getManufacturer() {
        return manufacturer;
    }

    public void setManufacturer(String manufacturer) { this.manufacturer = manufacturer == null ? null : manufacturer.trim(); }

    public String getSpecification() {
        return specification;
    }

    public void setSpecification(String specification) { this.specification = specification == null ? null : specification.trim(); }

    public String getBatch() {
        return batch;
    }

    public void setBatch(String batch) {
        this.batch = batch == null ? null : batch.trim();
    }

    public String getGoodNo() { return goodNo; }

    public void setGoodNo(String goodNo) { this.goodNo = goodNo; }

    public Long getBusinessId() { return businessId; }

    public void setBusinessId(Long businessId) { this.businessId = businessId; }

    public Integer getPage() { return page; }

    public void setPage(Integer page) { this.page = page; }

    public Integer getSize() { return size; }

    public void setSize(Integer size) { this.size = size; }

    public String getEnv() { return env; }

    public void setEnv(String env) { this.env = env; }

    public Date getGmtUpdate() { return gmtUpdate; }

    public void setGmtUpdate(Date gmtUpdate) { this.gmtUpdate = gmtUpdate; }

    public Long getUpdatedBy() { return updatedBy; }

    public void setUpdatedBy(Long updatedBy) { this.updatedBy = updatedBy; }

    public String getCreatedId() { return createdId; }

    public void setCreatedId(String createdId) { this.createdId = createdId; }

    public List<String> getGoodNoList() { return goodNoList; }

    public void setGoodNoList(List<String> goodNoList) { this.goodNoList = goodNoList; }

    public List<Long> getIds() {
        return ids;
    }

    public void setIds(List<Long> ids) {
        this.ids = ids;
    }

    public String getStoreNo() {
        return storeNo;
    }

    public void setStoreNo(String storeNo) {
        this.storeNo = storeNo;
    }

    public Long getStoreId() {
        return storeId;
    }

    public void setStoreId(Long storeId) {
        this.storeId = storeId;
    }

    public String getStoreName() {
        return storeName;
    }

    public void setStoreName(String storeName) {
        this.storeName = storeName;
    }

    public RecalledProductsDTO() {
    }

    public RecalledProductsDTO(Long businessId, String env, List<String> goodNoList) {
        this.businessId = businessId;
        this.env = env;
        this.goodNoList = goodNoList;
    }

    public RecalledProductsDTO(List<Long> ids) {
        this.ids = ids;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}